A bancada de trabalho Spreadsheet permite criar e editar planilhas, usar dados da planilha como parâmetros em um modelo, preencher a planilha com dados recuperados de um modelo, realizar cálculos e exportar os dados para outras aplicações de planilhas como o LibreOffice ou o Microsoft Excel.
Uma planilha com algumas células preenchidas com texto e quantidades
Observe que excluir ou remover células que contêm dados pode comprometer a planilha e o seu modelo, caso ele dependa dela. Você não receberá nenhum aviso prévio caso isso ocorra.
Linhas e colunas podem ser inseridas ou removidas clicando com o botão direito no cabeçalho da linha ou coluna e selecionando a opção apropriada no menu de contexto. É possível selecionar várias linhas ou colunas previamente, seja mantendo a tecla Ctrl pressionada ao selecionar os cabeçalhos ou mantendo o botão esquerdo do mouse pressionado e arrastando.
O conteúdo de uma célula pode ser editado selecionando a célula e inserindo um valor na caixa de entrada Conteúdo, na parte superior da janela. Para editar uma célula diretamente no local, selecione-a e pressione F2 ou clique duas vezes nela.
Esta operação exclui o conteúdo, as propriedades e os aliases das células. Para excluir apenas o conteúdo, as células devem ser editadas.
As operações de recortar e copiar armazenam o conteúdo, as propriedades e os aliases das células na Área de Transferência. A operação de colar grava os dados de modo que o conteúdo da célula superior esquerda dos dados armazenados seja inserido na célula ativa. O restante do conteúdo armazenado é posicionado em relação a essa célula. As fórmulas são atualizadas de acordo. Os aliases só são colados se forem exclusivos.
As propriedades de uma célula de planilha podem ser editadas clicando com o botão direito na célula e selecionando Propriedades… no menu de contexto. A seguinte caixa de diálogo é exibida:
Conforme indicado pelas abas, as seguintes propriedades podem ser alteradas:
Uma célula de planilha pode conter um número, um texto ou uma expressão. Expressões devem começar com um sinal de igualdade '='.
As expressões celulares podem conter números, funções, referências a outras células e referências a propriedades do modelo (Mas veja Limitações atuais abaixo). As células podem ser referenciadas por seu endereço (letra maiúscula da coluna + número da linha, ex B4) ou por seu pseudônimo.
Nota: As expressões das délulas são tratadas pelo FreeCAD como código de programação. Portanto, quando você edita uma célula, o conteúdo que você vê pode não estar de acordo com suas configurações de visualização:
As referências a objetos no modelo são explicadas em Referências a dados CAD abaixo. A utilização dos valores das células da planilha para definir as propriedades do modelo é explicada em Dados da planilha em expressões abaixo. Para mais informações sobre as expressões e as funções disponíveis, veja Expressões.
Os dados nas células de uma planilha podem ser usados nas expressões de parâmetros do modelo CAD. Assim, uma planilha pode ser usada como fonte para valores de parâmetros utilizados em todo o modelo, reunindo efetivamente os valores em um só lugar. Quando os valores são alterados na planilha, eles são propagados ao longo do modelo.
Da mesma forma, as propriedades dos objetos do modelo CAD podem ser usadas em expressões em células de planilhas. Isto permite o uso de propriedades de objetos como volume ou área na planilha eletrônica. Se o nome de um objeto no modelo CAD for alterado, a alteração será automaticamente propagada para quaisquer referências nas expressões da planilha usando o nome que foi alterado.
Mais de uma planilha de cálculo pode ser usada em um documento. Uma planilha pode ser identificada usando seu nome ou sua etiqueta.
O FreeCAD atribuirá automaticamente um nome exclusivo a uma planilha de cálculo quando ela for criada. Estes nomes seguem o padrão Spreadsheet, Spreadsheet001, Spreadsheet002 e assim por diante. O nome não pode ser alterado e não é visível nas propriedades da planilha. Ele pode ser usado para se referir à planilha em uma Expressão (ver Dados da planilha em expressões abaixo.)
O rótulo de uma planilha é automaticamente definido com o nome da planilha no momento da criação. Ao contrário do nome, a etiqueta pode ser alterada, por exemplo, no painel de propriedades ou usando a ação do menu de contexto Renomear. Por padrão o FreeCAD não aceita rótulos duplicados, mas existe uma configuração para permitir isso. Planilhas com rótulos duplicados no mesmo documento não podem ser referenciadas pelo rótulo.
O FreeCAD verifica dependências cíclicas. Veja em Limitações atuais.
Como indicado acima, é possível consultar os dados do modelo CAD em expressões de planilhas.
A tabela a seguir mostra alguns exemplos assumindo que o modelo tem uma característica chamada "MyCube":
| Dados CAD | Célula em Planilha | Resultado |
|---|---|---|
| Comprimento paramétrico de um cubo de bancada de trabalho parcial | =MyCube.Length
|
Comprimento com unidades mm |
| Volume do Cubo | =MyCube.Shape.Volume
|
Volume em mm³ sem unidades |
| Tipo da forma do cubo | =MyCube.Shape.ShapeType
|
String: Solid |
| Rótulo do Cubo | =MyCube.Label
|
String: MyCube |
| x coordenada do centro de massa do Cubo | =MyCube.Shape.CenterOfMass.x
|
coordenada em mm sem unidades |
Para usar os dados da planilha em outras partes do FreeCAD, você geralmente criará uma Expressão que se refere à planilha e à célula que contém os dados que você deseja usar. Você pode identificar as planilhas por nome ou por etiqueta, e pode identificar as células por endereço ou por pseudônimo. O auto-completamento está disponível para todas as formas de referência.
| Planilha por nome | Planilha por Rótulo | |
|---|---|---|
| Célula por endereço | =Spreadsheet042.B5
|
=<<MySpreadsheet>>.B5
|
| Célula por Pseudónimo | =Spreadsheet042.MyAlias
|
=<<MySpreadsheet>>.MyAlias
|
A maneira recomendada de consultar os dados da planilha é usar a etiqueta da planilha e o nome da célula. Para uma explicação mais profunda dos prós e contras dos modos de referenciamento, veja a seção expandida abaixo.
O uso do rótulo da planilha tem a vantagem de poder ser livremente alterado para descrever o conteúdo da planilha. Também é mais fácil identificar a planilha que está sendo utilizada, já que o texto na expressão corresponde à etiqueta mostrada na visualização do modelo e das propriedades. Se você decidir mudar o rótulo de uma planilha, as referências existentes ao conteúdo da planilha serão atualizadas, para que você não quebre suas expressões ao renomear a planilha. O nome interno da planilha não está prontamente disponível em nenhum lugar, exceto dentro do editor de expressões, portanto, se você usar o nome interno e mais tarde decidir renomear as planilhas, você poderá ter dificuldade em rastrear seus dados de expressão de volta à sua fonte.
Esteja ciente de que quando você cria uma nova planilha, o nome e a etiqueta são os mesmos, por isso é fácil usar acidentalmente o nome da planilha em vez da etiqueta. Uma maneira simples de evitar isto é dar à planilha um nome significativo antes de começar a usá-la em expressões.
Embora você possa usar o número da linha e da coluna em uma expressão para referenciar uma célula, a melhor prática é atribuir um pseudônimo à célula e usar esse nome. Consulte Propriedades da célula para saber como definir o pseudônimo. Por exemplo, se os dados na célula B1 contiverem o parâmetro de comprimento para um objeto, um apelido como ComprimentoMeuObjeto permitiria que o valor fosse referenciado como <<MeusParâmetros>>.ComprimentoMeuObjeto em vez de Spreadsheet.B1. Além de ser muito mais fácil de ler e entender, os apelidos/pseudônimos também são muito mais fáceis de alterar caso você decida ajustar a estrutura da sua planilha. Usar um apelido também tem a vantagem de tornar mais fácil ver quais células são usadas para controlar outras partes do documento. Note que o FreeCAD ajustará automaticamente as referências posicionais nas expressões se você inserir ou remover linhas e colunas na planilha. Portanto, mesmo se você usar números de linha e coluna em uma expressão, pode inserir linhas e colunas sem quebrar as referências às células circundantes.
A edição de uma planilha irá desencadear uma recomputação do modelo 3D, mesmo que as mudanças não afetem o modelo. Para um modelo complexo, uma recomputação pode levar muito tempo, e ter que esperar após cada edição é, naturalmente, bastante irritante.
Existem três soluções para lidar com isso:
#PENDING.=NameOfFile#<<MySpreadsheet>>.MyAlias.
A Planilha tem uma noção de dimensão (unidades) associada aos valores das células. Um número inserido sem uma unidade associada não tem dimensão. A unidade deve ser inserida imediatamente após o valor do número, sem espaço interveniente. Se um número tiver uma unidade associada, essa unidade será usada em todos os cálculos. Por exemplo, a multiplicação de dois comprimentos com a unidade mm dá uma área com a unidade mm².
Se uma célula contiver um valor que represente uma dimensão, ele deve ser inserido com a unidade associada. Embora em muitos casos simples seja possível utilizar um valor adimensional, não é recomendável omitir a unidade. Se um valor que representa uma dimensão for inserido sem a unidade associada, certas sequências de operações podem fazer com que o FreeCAD aponte unidades incompatíveis em uma expressão, mesmo quando ela parece ser válida. (Isso pode ser melhor compreendido consultando este tópico nos fóruns do FreeCAD.)
Você pode mudar as unidades exibidas para um valor de célula usando o diálogo de propriedades. Isto não altera o valor contido na célula; ele apenas converte o valor existente para exibição. O valor utilizado para os cálculos não muda, e os resultados das fórmulas que utilizam o valor não mudam. Por exemplo, uma célula contendo o valor "5,08cm" pode ser exibida como "2in", alterando o valor da aba de unidades para "in".
Um número sem dimensão não pode ser alterado para um número com uma unidade pelo diálogo de propriedades da célula. Pode-se colocar uma cadeia de unidades, e essa cadeia será exibida; mas a célula ainda contém um número sem dimensões. Para mudar um valor sem dimensão para um valor com uma dimensão, o próprio valor deve ser reentrado com sua unidade associada.
Ocasionalmente, pode ser desejável se livrar de uma dimensão em uma expressão. Isto pode ser feito multiplicando por 1 com uma unidade recíproca.
As planílhas do FreeCAD podem ser importadas e exportadas para o formato CSV que também pode ser lido e escrito pela maioria das outras aplicações de planilhas como o Microsoft Excel ou o LibreOffice Calc. Veja Importar planilha e Exportar planilha para mais informações.
Planilhas em formato Excel XLSX podem ser importadas através do comando Importar ou do comando Abrir. As seguintes características são suportadas:
Outras funcionalidades não são importadas para a planilha do FreeCAD.
Para lidar com a configuração da página necessária para impressão, as planilhas do FreeCAD são impressas inserindo-as em Visualizar planilha do TechDraw.
Verificações FreeCAD para dependências cíclicas quando recalcula os modelos. Isso foi projetado de modo que essa verificação pára no nível do objeto da planilha. Como conseqüência, não se deve ter uma planilha que contenha tanto células cujos valores são usados para especificar parâmetros para o modelo, quanto células cujos valores usam a saída do modelo. Por exemplo, você não pode ter células especificando o comprimento, largura e altura de um objeto, e outra célula que faz referência ao volume total da forma resultante. Esta restrição pode ser superada com duas planilhas: uma usada como fonte de dados para parâmetros de entrada no modelo e a outra usada para cálculos baseados nos dados geométricos resultantes.
É possível vincular o conteúdo das células a outras células da planilha. Isso pode ser útil ao lidar com tabelas grandes ou para obter o conteúdo de uma célula de outra planilha.
Para vincular, por exemplo, o conjunto de células A3-C4 ao conjunto B1-D2:
A planilha agora deve parecer assim
Você pode usar Planilhas para criar tabelas de configuração com conjuntos de parâmetros predefinidos para o seu modelo e, em seguida, alterar dinamicamente qual configuração utilizar. Consulte o tutorial Tabelas de Configuração. Leia esta postagem no fórum se quiser saber mais sobre o funcionamento interno desse recurso.
import Spreadsheet
sheet = App.ActiveDocument.addObject("Spreadsheet::Sheet", "MySpreadsheet")
sheet.Label = "Dimensions"
sheet.set("A1", "10mm")
sheet.recompute()
sheet.get("A1")
sheet.setAlias("B1", "Diameter")
sheet.set("Diameter", "20mm")
sheet.recompute()
sheet.get("Diameter")
# sheet.get() results in an error if the cell is empty.
# sheet.getContents() can be used to check the cell first.
if sheet.getContents("C1"):
print(sheet.get("C1"))